B Binance · The world's largest crypto exchangeBinance Sign up → AD OKX OKX · A leading global crypto exchangeOKX Sign up → AD
📈 Stock analysis tools

📆 Stock DCA Calculator

Replay monthly or weekly buys of a stock or ETF on real Yahoo Finance prices: total invested, value, return, IRR and max drawdown vs a lump sum. Not advice.

Loading Data: Yahoo Finance (via our server, may be delayed)

Plan

Frequency
Each buy fills at that day's open (next trading day if closed)

Result

Total invested–
Value now–
Return–
Annualized (IRR)–
Shares held–
Average cost–
Max drawdown–
Worst return–
Dividend effect–
–

Value vs invested

Price and your average cost

DCA vs lump sum

ItemDCALump sum

Dividends and currency, separated

BasisDCA returnIRRLump-sum return

Purchase highlights

WhichDateBuy priceReturn now

By year

What each year's buys are worth now
YearBuysInvestedValue nowReturn

Had you started at another time

Same amount and frequency, until today
StartBuysInvestedValueDCA returnIRRLump-sum return

Tap a start date to apply it above.

For information only, not investment advice. Prices come from Yahoo Finance via our server and may be delayed 15–20 minutes or more depending on the exchange, or interrupted. Charts: TradingView Lightweight Charts™

What this tool does

A stock DCA calculator that replays buying the same amount of a stock or ETF every month or week using real prices. Search the list by name or type a ticker (S&P 500 ETF SPY, TIGER US S&P500, KODEX 200 for the KOSPI 200, Samsung Electronics, large US and Japanese stocks, and more), then set the amount, frequency and period to get the total invested, current value and return, annualized return (IRR) and maximum drawdown, compared with investing the same money all at once. Results are shown with dividends reinvested and on price alone, and foreign stocks can be calculated in won converted at each buy date's exchange rate.

How it is calculated

Prices are fetched from Yahoo Finance by our server. The last 10 years use daily bars and earlier periods use monthly bars. Each buy fills at the open of its scheduled day: monthly on the chosen day (day 1 = the first trading day of the month, or days 2 to 28), weekly on the chosen weekday, or every trading day. If the market is closed, the buy moves to the next trading day before the following scheduled date, or is skipped. Shares bought = amount ÷ exchange rate × (1 − commission) ÷ open, and fractional shares are allowed. 'Dividends reinvested' uses the adjusted close (adjClose), which reflects dividends and splits: adjusted open = open × (adjusted close ÷ close), and valuation also uses the adjusted close, which is the same as reinvesting every dividend in full, before tax, in the same stock. 'Price only' uses split-adjusted prices without dividends. When a foreign stock is calculated in KRW, won are converted at each buy date's rate (Yahoo daily close, or the previous value on a holiday; the month's opening rate when monthly bars are used), and value = shares × latest close × current rate. Average cost = total invested ÷ shares held; return = value ÷ total invested − 1, with no selling costs or taxes deducted. The annualized return (IRR) is solved from each buy's date and amount and today's value, and is shown only when the first buy is at least a year old. The lump sum invests the same total at the open of the first buy date, annualized as CAGR = (value ÷ invested)^(1 ÷ years) − 1. Max drawdown is the largest fall of the portfolio value (including contributions made in between) from its previous peak after the first buy; worst return is the lowest value relative to the money put in so far. Dividends per share are pre-tax estimates worked backwards on each ex-dividend date, where the adjustment factor changes: previous close × (1 − previous factor ÷ that day's factor).

Reading the screen, section by section

Picking a symbol and the quote line

Type a name or code into the search box, or pick from the buttons below (SPY for the S&P 500, a Korea-listed US S&P 500 ETF, a KOSPI 200 ETF, QQQ for the Nasdaq 100, a US dividend ETF, Samsung Electronics). A six-digit Korean code is tried on the KOSPI (.KS) first and then the KOSDAQ (.KQ). Dividends reinvested / Price only beside it chooses between adjusted and original prices. The line below shows the name, latest price and change from the previous close, for dollar and yen stocks the won value at today's rate and the rate itself, and the quote time in the exchange's city time with whether the market is open. The US regular session runs from 9:30 a.m. to 4 p.m. New York time, overnight in Korea, so during the Korean day you see the previous night's close. Unlike Korean stocks, US stocks have no daily price limit.

Plan

Enter the amount per purchase and, for overseas stocks, whether it is in won or in the stock's currency (the Korean page defaults to won, other languages to the stock's currency, and the converted value at today's rate appears below). Purchases can be monthly (day 1 means the first trading day of the month, or days 2 to 28), weekly (one weekday from Monday to Friday) or every trading day; each buy fills at the scheduled day's open, or on the first trading day before the next scheduled date if the market is closed. Set the start with a date or the 1Y, 3Y, 5Y, 10Y and All data buttons; leave the end empty to keep buying until today. Even with a past end date, valuation uses today's price. Default commission is 0.015% for won-priced stocks and 0% for overseas ones (brokers differ, so enter your own); selling costs and taxes are not included. Periods older than 10 years use monthly bars and buy only on the first trading day. Changes recalculate at once and stay in the address.

Result — the figures

The tiles show where the plan would stand today. Value = shares held × latest close (× today's exchange rate when calculating in won); during the session the latest close is today's unfinished price, so value and return shift slightly with each refresh. Past purchases are fixed at their day's open and do not change. Fractional shares are allowed and the valuation does not subtract selling costs or taxes. The sentence below sums up the period, frequency, amount, number of buys and result, plus the difference from investing the same total at once on the first buy date; notes beneath it flag a start moved later because data begins later, or purchases skipped because of gaps in the data.

  • Total invested: number of purchases and the period
  • Current value: profit or loss in money
  • Return: value ÷ total invested − 1
  • IRR: annualised internal rate of return using each purchase's date and amount, shown only when the first buy is at least a year ago
  • Shares held: including shares added by dividends when reinvesting
  • Average cost: total invested ÷ shares held, and how far the price is above or below it
  • MDD: the largest fall in value (contributions included) from its previous peak since the first buy
  • Worst return: the day value was lowest relative to the money put in so far
  • Dividend effect: comparison with the return under the other dividend setting
  • Currency effect: average purchase exchange rate versus today's when an overseas stock is calculated in won

Value and invested chart, price and average cost

The top chart draws the DCA value (filled area), the cumulative amount invested (step line) and the value of investing the same total at once on the first buy date (dashed line). Stretches where the value area dips below the invested steps are periods of paper loss. The line above the chart shows, for the day under the cursor (or the last day), the price, value, invested amount with return, and the lump-sum value. The bottom chart is the stock price (in won when calculating in won) and your average cost (dashed steps); with 60 purchases or fewer, each purchase day gets a dot. When the price line sits above the average cost, the position is in profit. You can switch between linear and log scales. With dividends reinvested, price and average cost are adjusted prices lowered by later dividends, so they look lower than the actual fills at the time.

DCA vs lump sum, and dividends and currency separated

The first table compares buying in instalments with buying the same total at once at the first buy date's open, across invested amount, average cost, shares, value, profit, return, annualised return and MDD, and the header notes which return is higher and by how many points. Because the money spends different lengths of time in the market, raw returns are hard to compare directly, so look at the annualised figures too (IRR for DCA, CAGR for the lump sum). The second table recalculates the same purchases with and without dividend reinvestment and, for overseas stocks, in won and in the stock's currency, showing what drove the result. Under it you find the total dividends per share and how many were paid in the period, and the cash you would have received with dividends not reinvested (pre-tax estimate). The won rows buy at each purchase day's rate and value at today's rate.

Purchase highlights and by-year breakdown

Purchase highlights show the cheapest and most expensive buys, the first and the last, with their date, price and current return, and below them a bar for how many purchases are currently in profit out of the total. At a glance you see how averaging built your cost and whether the expensive buys have recovered. The by-year table lists how many purchases were made each year, the amount invested, what that year's shares are worth now and their return. Shares bought in recent years have spent less time in the market, so their returns are hard to compare directly with earlier years. Both tables are valued at today's price, so they update together during the session.

Had you started at another time

With the same amount, frequency, commission and dividend setting, this table shows what buying from 1, 3, 5 or 10 years ago, or from the start of the data, until today would have produced. Each row gives the number of purchases, amount invested, value, DCA return, IRR and the lump-sum return over the same period. The 1 to 10 year rows use daily bars; the All data row continues into monthly bars older than 10 years, and shows a Load button if those have not been fetched yet. If a recent listing has no data for a start point, that row is marked No data or left out. Clicking a start date copies it into the plan above and recalculates the whole page for that period. The table shows how much the result can depend on when you began, even for the same stock.

How to use it

① Pick a symbol and set the amount, frequency and start. ② Look at return, IRR and average cost, and check on the value chart how long and how deep the stretches below the invested line were. ③ Compare with the lump sum, and use the dividends-and-currency table to see whether the result came from price, dividends or the exchange rate. ④ Use the start-date comparison to see how much the starting point matters. If you buy a US ETF with won, the currency effect can change the result a lot, so read the won and dollar rows together. While the page is open it reloads the last 5 daily bars every 5 minutes (stock prices every 30 minutes when the market is closed, exchange rates every time) and updates the value, but as a calculator it does not need to stay open. Past results do not guarantee future returns.

Things to know

Frequently asked questions

What is the difference between 'dividends reinvested' and 'price only'?

'Dividends reinvested' uses prices adjusted for dividends and splits, which matches reinvesting every dividend in the same stock straight away with no tax. 'Price only' uses the original prices and shows the price change alone. The gap between them is the contribution of dividends. Under the 'Dividends and currency, separated' table the page also lists the dividends per share paid during the period and what you would have received in cash (a pre-tax estimate). For data without a dividend adjustment, such as indices or exchange rates, both results are the same. Under 'dividends reinvested' the buy prices and average cost are adjusted prices, lowered by the dividends paid later, so they look lower than what was actually paid at the time.

How is the exchange rate handled when a foreign stock is calculated in won?

On each buy date the won are converted into dollars or yen at that day's rate (the Yahoo Finance daily close, or the previous value on a holiday). The value is shares held × latest close × current rate. The KRW return therefore combines the stock's move and the currency's move, and the difference from the same buys measured in dollars is shown as the currency effect. Brokers' currency conversion fees (the exchange-rate spread) are not included.

Which price is each buy made at?

The open of the scheduled day's daily bar, the first price when that exchange opens. Choosing day 1 of the month buys at the open of the month's first trading day. If the market is closed, the buy moves to the next trading day before the following scheduled date; if there is no trading data in between it is skipped, and the number of skipped buys is shown. Periods more than 10 years back use monthly data and are calculated only at the open of each month's first trading day.

How often are prices updated, and how delayed are they?

The stock's 10 years of daily bars are downloaded once, and after that only the last 5 days of bars are fetched every 5 minutes to update the current price and value. While the market is closed it checks only every 30 minutes, and for foreign stocks the exchange rate used for the won figures is also refreshed every 5 minutes. Depending on the exchange, prices can be 15 to 20 minutes or more late, so the page shows the time of the latest price and whether the market is open. Updates pause while the tab is hidden and resume as soon as you return.

For information only, not investment advice. Prices come from Yahoo Finance via our server and may be delayed 15–20 minutes or more depending on the exchange, or interrupted.

📚 Worth reading
💵Where dividends actually come from→ 🧺What an index actually measures→ 💱How exchange rates affect foreign stock returns→ 🧾What to Check When Choosing an ETF→
← All stock tools